package com.wontube.smr.client;

import com.wontube.client.modle.vo.PagenateInfo;
import com.wontube.smr.client.model.vo.DeviceHomeItems;
import com.wontube.smr.client.model.vo.DeviceSearchItems;
import com.wontube.smr.client.model.vo.SearchCountPreview;
import com.wontube.smr.client.model.vo.VVideoItems;


/**
 * @author yuechao
 *
 */
public interface IVideoHandler {
	// search result types
	final String typeShows = "Show";
	final String typeEpisode = "Episode";
	final String typeMovie = "Movie";
	final String typeGames = "Games";
	final String typeMusic = "Music";
	final String typeVideo = "Video";
	
	// sys id
	final String sysIdAndroid = IDeviceHandler.sysIdAndroid;
	final String sysIdIPhone = IDeviceHandler.sysIdIPhone;
	
	/**
	 * 搜索所有视频资源
	 * 
	 * @param dbFactor
	 * @param keyword
	 * @param pageInfo
	 * @return
	 */
	VVideoItems search(Double dbFactor, String keyword, PagenateInfo pageInfo);
	
	/**
	 * 搜索所有视频资源
	 * 
	 * @param dbFactor
	 * @param website
	 * @param keyword
	 * @param pageInfo
	 * @return
	
	VVideoItems searchWebsite(String website, String keyword, PagenateInfo pageInfo);
	 */
	/**
	 * 预览各类视频的数量
	 * 
	 * @param dbFactor
	 * @param keyword
	 * @return
	 */
	SearchCountPreview previewItemsCount(Double dbFactor, String keyword);
	
	/**
	 *  搜索所有视频资源, 用于设备应用第一次搜索
	 *  
	 * @param dbFactor
	 * @param keyword
	 * @param pageInfo
	 * @return
	 */
	DeviceSearchItems deviceSearch(String keyword);
	
	/**
	 * movie device home data
	 * 
	 * @param sysId
	 * @return
	 */
	DeviceHomeItems listDeviceHomeItems(String sysId, String countryCode);
	
	/**
	 * movie device home data
	 * @param sysId
	 * 
	 * @deprecated 请使用指明 countryCode 的重载
	 *  
	 * @return
	 */
	DeviceHomeItems listDeviceHomeItems(String sysId);
	
	/**
	 * movie device home data
	 * 
	 * @deprecated 请使用指明具体 sysId 的重载
	 * 
	 */
	DeviceHomeItems listDeviceHomeItems();

	/**
	 * get the thumbnail
	 * 
	 * @param url
	 * @return
	 */
	String getThumbnail(String url);
}
